package com.shuyuwl.service;

import com.shuyuwl.core.service.IDaoService;
import com.shuyuwl.core.support.ServerResponse;
import com.shuyuwl.domain.File;
import com.shuyuwl.repository.FileRepository;
import com.shuyuwl.vo.FileVo;
import org.springframework.web.multipart.MultipartFile;


/**
 * 数驭未来文件管理中心对外开放功能目录
 * @author xpk
 * @date 2019/10/30
 */
public interface FileService extends IDaoService<File,Long, FileRepository> {

    /**
     * 获取文件sha1值的记录
     * @param sha1
     * @return
     */
    File isFile(String sha1);

    /**
     * 保存文件上传
     * @param file 文件上传实体类
     */
    File save(File file);

    /**
     * 根据路径删除文件
     * @param path
     */
    void deleteByPath(String path);

    /**
     * 上传文件
     * @param multipartFile
     * @return
     */
    ServerResponse<FileVo> uploadFile(MultipartFile multipartFile);

    /**
     * 根据id获取文件
     * @param id
     * @return
     */
    File getById(Long id);

    /**
     * 根据路径查找文件
     * @param path
     * @return
     */
    File getByPath(String path);
}
